# 变量
# 方式一:
# objs := hello.o main.o

# 方式二:
# objs := hello.o
# objs += main.o

# 方式三:
objs := hello.o \
		main.o

# 目标名: 依赖文件1 依赖文件2 ... // 建议目标名称与生成的文件名一致
# 执行命令1
# 执行命令2
# ...

main1:
	gcc main.c hello.c -o main
	./main
	rm main

hello.o: hello.c
	gcc -c hello.c -o hello.o

main.o: main.c hello.h
	gcc -c main.c -o main.o

main: $(objs)
	gcc $(objs) -o main

# 创建伪目标
.PHONY: clean

clean:
	-rm hello.o
	-rm main.o
	-rm main